/*
 * @Author: xsh201931773442 1948130520@qq.com
 * @Date: 2022-07-13 09:52:57
 * @LastEditors: xsh201931773442 1948130520@qq.com
 * @LastEditTime: 2022-07-13 10:51:30
 * @FilePath: \financialmanagement\src\tools\request.js
 * @Description:请求方法封装
 *
 */
import axios from 'axios'
import { setBaseUrl } from '@/config/requestUrl'

/**
 * @description: 1.创建请求实例
 */
const instance = axios.create({
  baseURL: setBaseUrl(process.env.NODE_ENV), //配置默认请求地址
  timeout: 5000 //配置请求超时
})

// async 用于申明一个 function 是异步的，而 await 用于等待一个异步方法执行完成。await 只能出现在 async 函数中

/**
 * @description: 2.封装get请求方法
 * @param {*} url 请求的地址
 * @param {*} params get请求参数
 * @param {*} method 请求方式
 * @return {*}
 */

export const getHttp = async (url = '', params = {}, method = 'get') => {
  const result = await instance[method](instance.baseURL + url, { params })
  return result
}

/**
 * @description: 3.封装post请求方法
 * @param {*} url 请求的地址
 * @param {*} data post请求参数
 * @param {*} method 请求方式
 * @return {*}
 */
export const postHttp = async (url = '', data = {}, method = 'post') => {
  const result = await instance[method](instance.baseURL + url, data)
  return result
}
